Odchytenie minimalizacie okna .... Kde je chyba ???
Otázka od:  Richard Siegl
23. 9. 2002 9:58
Potrebujem odchytit udalost minimalizacie okna uzivatelom.
Udalosti restore, maxim funguju ale minimalizacia nie .
Neviete kde je chyba ???
type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
    procedure Zmena(var Message: TMessage); message WM_SIZE;
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}
procedure tform1.Zmena(var Message: TMessage);
begin
        if message.WParam = SIZE_MINIMIZED then ShowMessage('minim');
        if message.WParam = SIZE_MAXIMIZED then ShowMessage('maxim');
        if message.WParam = SIZE_RESTORED then ShowMessage('resto');
        inherited;
end;
----------------------
Richard Siegl
ELAS spol. s r.o.
Vinohradnícka 6
97101 Prievidza
tel.: +421 46 5151239
Email: rsiegl@elas.sk
Web: www.elas.sk
----------------------
Odpovedá:  ing. Jan Fiala
23. 9. 2002 11:14
Melo by stacit povesit si vlastni udalost na Application.OnMinimize.
private
procedure ApplicationEventsMinimize(Sender: TObject);
implementation
procedure TForm1.ApplicationEventsMinimize(Sender: TObject);
begin
  ShowMessage('minim');
end;
v OnCreate formu:
Application.OnMinimize := ApplicationEventsMinimize;
-- 
ing. Jan Fiala
mailto:jan.fiala@iol.cz
23.9.2002 Richard Siegl:
> Potrebujem odchytit udalost minimalizacie okna uzivatelom.
> Udalosti restore, maxim funguju ale minimalizacia nie .
> Neviete kde je chyba ???
Odpovedá:  Ing. Jiri SOKOL
23. 9. 2002 11:39
> Potrebujem odchytit udalost minimalizacie okna uzivatelom.
> Udalosti restore, maxim funguju ale minimalizacia nie .
> Neviete kde je chyba ???
> procedure tform1.Zmena(var Message: TMessage);
> begin
>         if message.WParam = SIZE_MINIMIZED then ShowMessage('minim');
>         if message.WParam = SIZE_MAXIMIZED then ShowMessage('maxim');
>         if message.WParam = SIZE_RESTORED then ShowMessage('resto');
>         inherited;
> end;
Ahoj,
zkus misto ShowMessage pouzit logovani do souboru. Ja myslim, ze je to co do
kodu spravne. 
Logicky bych usuzoval, ze aplikace po minimalizaci nema byt aktivni ... tudiz
i zobrazovani hlasky ShowMessage bych nepouzil.
Je to jen myslenka ...
Ahoj Jirka
Ing. Jiri Sokol, js-delphi@seznam.cz, +420251431187
D6ProfSP2,WinNT
amatersky
programator
______________________________________________________________________
Reklama:
Mapy Prahy, Brna a Cech najdete na http://www.mapy.cz
Odpovedá:  Richard Siegl
23. 9. 2002 11:03
Dakujem .... funguje to spravne
----- Original Message ----- 
From: "ing. Jan Fiala" <jan.fiala@iol.cz>
To: <delphi-l@clexpert.cz>
Sent: Monday, September 23, 2002 11:20 AM
Subject: Re: Odchytenie minimalizacie okna .... Kde je chyba ???
> Melo by stacit povesit si vlastni udalost na Application.OnMinimize.
> 
> private
> procedure ApplicationEventsMinimize(Sender: TObject);
> 
> implementation
> procedure TForm1.ApplicationEventsMinimize(Sender: TObject);
> begin
>   ShowMessage('minim');
> end;
> 
> v OnCreate formu:
> Application.OnMinimize := ApplicationEventsMinimize;
> 
> 
> -- 
> ing. Jan Fiala
> mailto:jan.fiala@iol.cz
> 
> 23.9.2002 Richard Siegl:
> 
> > Potrebujem odchytit udalost minimalizacie okna uzivatelom.
> > Udalosti restore, maxim funguju ale minimalizacia nie .
> > Neviete kde je chyba ???
> 
> 
> 
Odpovedá:  Blazek Jaroslav
23. 9. 2002 11:34
Ahoj,
> rsiegl@elas.sk 23.9.02 11:00 >>>
>Potrebujem odchytit udalost minimalizacie okna uzivatelom.
>Udalosti restore, maxim funguju ale minimalizacia nie .
>Neviete kde je chyba ???
type
  TForm1 = class(TForm)
  private
    procedure WMSysCommand(var AMsg:TMessage); message WM_SYSCOMMAND;
  end;
procedure TForm1.WMSysCommand(var AMsg:TMessage);
begin
 case AMsg.WParam of
  SC_MINIMIZE  : ShowMessage('Minimize');
  SC_MAXIMIZE : ShowMessage('Maximize');
  SC_RESTORE  : ShowMessage('Restore');
 end;
 inherited;
end;
S pozdravem
Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek@access-it.cz
http://www.access-it.cz
ICQ# : 133673990
+420605/813644
Odpovedá:  Ondrej Kelle
23. 9. 2002 11:55
> Potrebujem odchytit udalost minimalizacie okna uzivatelom.
type
  TForm1 = class(TForm)
  private
    procedure WMSysCommand(var Message: TWMSysCommand); message
WM_SYSCOMMAND;
  end;
implementation
procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
  case Message.CmdType and $FFF0 of
    SC_MINIMIZE:
      ShowMessage('minimize');
    SC_MAXIMIZE:
      ShowMessage('maximize');
    SC_RESTORE:
      ShowMessage('restore');
  end;
  inherited;
end;
> Melo by stacit povesit si vlastni udalost na Application.OnMinimize.
To funguje len pre hlavne okno aplikacie.
HTH
TOndrej
Odpovedá:  Blazek Jaroslav
23. 9. 2002 14:07
Ahoj,
> jan.fiala@iol.cz 23.9.02 11:20 >>>
>Melo by stacit povesit si vlastni udalost na Application.OnMinimize.
>Application.OnMinimize := ApplicationEventsMinimize;
timhle to nezajistis ale pro vsechna okna, jen pro to hlavni, pro ostatni musis 
odchytavat WM_SYSCOMMAND
S pozdravem
Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek@access-it.cz
http://www.access-it.cz
ICQ# : 133673990
+420605/813644
Odpovedá:  ing. Jan Fiala
23. 9. 2002 12:48
23.9.2002 Blazek Jaroslav:
>> jan.fiala@iol.cz 23.9.02 11:20 >>>
>>Melo by stacit povesit si vlastni udalost na Application.OnMinimize.
>>Application.OnMinimize := ApplicationEventsMinimize;
> timhle to nezajistis ale pro vsechna okna, jen pro to hlavni, pro
> ostatni musis odchytavat WM_SYSCOMMAND
Vim, ale predpokladal jsem, ze jde o hlavni okno. Pro MDI aplikaci a
child okna to samozrejme neni...
-- 
ing. Jan Fiala
mailto:jan.fiala@iol.cz